function TicketSettingFunction(Component,TicketType,TicketTypeName){
	
	if (!Ext.getCmp(Component + 'all-info').getForm().isValid()) {
		return;
	}
	if (Ext.getCmp(Component + 'autoticket-info_detail').getValue() == null || Ext.getCmp(Component + 'autoticket-info_detail').getValue() == '') {
		Ext.getCmp(Component + 'autoticket-info_detail').markInvalid(Share.T('此项目不能为空。'));
		return;
	}
//	Ext.MessageBox.alert('SETTING');
	var WriteBackWayGroup = Ext.getCmp(Component+'base-writeback');
	var WriteBackWay = '';
	WriteBackWayGroup.items.each(function(item){
		if(item.checked){
			WriteBackWay = item.inputValue;
		}
	});
	//接口方式
	var InterfaceWayGroup = Ext.getCmp(Component+'base-interface');
	var InterfaceWay = '';
	InterfaceWayGroup.items.each(function(item){
		if(item.checked){
			InterfaceWay = item.inputValue;
		}
	});
	//回写ERP方式
	var WriteBackERPWayGroup = Ext.getCmp(Component+'base-erp');
	var WriteBackERPWay = '';
	WriteBackERPWayGroup.items.each(function(item){
		if(item.checked){
			WriteBackERPWay = item.inputValue;
		}
	});
	//数据导入方式
	var DataImportWayGroup = Ext.getCmp(Component+'base-dataimport-radio');
	var DataImportWay = '';
	DataImportWayGroup.items.each(function(item){
		if(item.checked){
			DataImportWay = item.inputValue;
		}
	});
	//价格方式
	var PriceWayGroup = Ext.getCmp(Component+'cal-price');
	var PriceWay = '';
	PriceWayGroup.items.each(function(item){
		if(item.checked){
			PriceWay = item.inputValue;
		}
	});
	//导入计算规则
	var ImportCalaRulerGroup = Ext.getCmp(Component+'cal-import');
	var ImportCalaRuler = '';
	ImportCalaRulerGroup.items.each(function(item){
		if(item.checked){
			ImportCalaRuler = item.inputValue;
		}
	});
	//客户主数据关联方式
	var UserMdataClientGroup = Ext.getCmp(Component+'base-clientmaindata');
	var isUseMdataClient = '';
	UserMdataClientGroup.items.each(function(item){
		if(item.checked){
			isUseMdataClient = item.inputValue;
		}
	});
	//商品主数据关联方式
	var UserMdataGoodsGroup = Ext.getCmp(Component+'base-goodsmaindata');
	var isUseMdataGoods = '';
	UserMdataGoodsGroup.items.each(function(item){
		if(item.checked){
			isUseMdataGoods = item.inputValue;
		}
	});
	//导入覆盖方式，和laney讨论的，laney提出增加"追加"选项。
	var ImportOverrideAppendGroup = Ext.getCmp(Component+'base-importoverrideappend');
	var ImportOverrideAppend = '';
	ImportOverrideAppendGroup.items.each(function(item){
		if(item.checked){
			ImportOverrideAppend = item.inputValue;
		}
	});
	
	//拆分超额方式
	var PriceOrCountGroup = Ext.getCmp(Component+'base-splitfunc');
	var PriceOrCount = '';
	PriceOrCountGroup.items.each(function(item){
		if(item.checked){
			PriceOrCount = item.inputValue;
		}
	});
	
	// 红废票审核级数
	var AbandonCheckGroup = Ext.getCmp(Component+'abandon-checker');
	var AbandonCheck = '';
	AbandonCheckGroup.items.each(function(item){
		if(item.checked){
			AbandonCheck = item.inputValue;
		}
	});
	//验证该票据是否有正在审核的红废票，如果有，不让用户设置此票据的审核级数
	if(!checkAbandon(TicketType,AbandonCheck)){
		Ext.Msg.alert(Share.T('提示'),Share.T('有待审核的')+TicketTypeName+Share.T('红废票，不能修改审核级数。'));
		return;
	}
	//结束获取RadioGroup值
	
	//开始获取TextField值
	var MaxMoney = Ext.getCmp(Component+'base-maxmoney').getValue();
	var MaxLine = Ext.getCmp(Component+'base-maxline').getValue();
	var UnitPriceCalaAcc = Ext.getCmp(Component+'cal-unitprice').getValue();
	var NumCalaAcc = Ext.getCmp(Component+'cal-num').getValue();
	var SplitCalaAcc = Ext.getCmp(Component+'cal-split').getValue();
	var SplitCalaStep = Ext.getCmp(Component+'step-split').getValue();
	var MinMoney = Ext.getCmp(Component+'cal-minmoney').getValue();
	var SplitResultLimit = Ext.getCmp(Component+'cal-maxline').getValue();
	//结束获取TextField值
	
	//开始获取CheckBox值
	//规则：false为0，true为1
	var isOutCode = Ext.getCmp(Component+'base-is-outcode').getValue() == true ? 1 : 0;
	var isDisplayPinAccount = Ext.getCmp(Component+'base-is-pinaccount').getValue() == true ? 1 : 0;
	//结束获取CheckBox值
	
	//开始获取itemselector值(一键开票)
	var All_Value = Ext.getCmp(Component+'autoticket-info_detail').getValue();
	var OneTicketMakeSetting = '';
	for(var oti=0;oti<All_Value.length;oti++){
		OneTicketMakeSetting += All_Value[oti];
		if(oti < All_Value.length - 1){
			OneTicketMakeSetting += ',';
		}
	}
	
	//开始传送数据至后台：
	Share.AjaxRequest({  
		url : ctx + '/TicketInvoiceSetting',
    	params : {
    		WriteBackWay : WriteBackWay == '' ? null : WriteBackWay,
    		InterfaceWay : InterfaceWay == '' ? null : InterfaceWay,
    		WriteBackERPWay : WriteBackERPWay == '' ? null : WriteBackERPWay,
    		DataImportWay : DataImportWay == '' ? null : DataImportWay,
    		PriceWay : PriceWay == '' ? '999' : PriceWay,
    		ImportCalaRuler : ImportCalaRuler == '' ? null : ImportCalaRuler,
    		MaxMoney : MaxMoney == '' ? null : MaxMoney,
    		MaxLine : MaxLine == '' ? null : MaxLine,
    		UnitPriceCalaAcc : UnitPriceCalaAcc == '' ? null : UnitPriceCalaAcc,
    		NumCalaAcc : NumCalaAcc == '' ? null : NumCalaAcc,
    		SplitCalaAcc : SplitCalaAcc == '' ? null : SplitCalaAcc,
    		SplitCalaStep : SplitCalaStep == '' ? null : SplitCalaStep,//小数2位
    		MinMoney : MinMoney == '' ? null : MinMoney,
    		SplitResultLimit : SplitResultLimit == '' ? null : SplitResultLimit,
    		isOutCode : isOutCode == '' ? null : isOutCode,
    		isDisplayPinAccount : isDisplayPinAccount == '' ? null : isDisplayPinAccount,
    		isUseMdataClient : isUseMdataClient == '' ? null : isUseMdataClient,
    		isUseMdataGoods : isUseMdataGoods == '' ? null : isUseMdataGoods,
    		type : TicketType,
    		OneTicketMakeSetting: OneTicketMakeSetting == '' ? null : OneTicketMakeSetting,
    		ImportOverrideAppend : ImportOverrideAppend == '' ? null : ImportOverrideAppend,
    		PriceOrCount : PriceOrCount == '' ? '0' : PriceOrCount,
    		AbandonCheck : AbandonCheck == '' ? '0' : AbandonCheck
    	},
    	callback : function(json) {//设置成功后处理函数		    		
    		if(json.resultcode == '0'){
//    			Share.getInvoiceInitConfig();//刷新前台保存的设置值guxiaoli
    			Ext.Msg.alert(Share.T('提示'), Share.T(TicketTypeName)+Share.T("类型设置成功！"),function(){Share.getInvoiceInitConfig();});
    			/*刷新前台保存的设置值guxiaoli*/
    		}else if(json.resultcode == '-1'){
    			Share.ShowMessage("I0007","类型设置");
    		}else if(json.resultcode == '-99'){
    			Share.ShowMessage("I0027");
    		}else{
    			Ext.Msg.alert(Share.T('提示'), json.resultcode);
    		}
    	}
	});
	//结束传送数据至后台
}

/**
 *  检查当前是否有该类型票据正在审核中，如果有，该类型票据不允许更改审核级数
 * @param TicketType 当前票据类型
 * @param AbandonCheck 用户选择的审核级数
 */
function checkAbandon(TicketType,AbandonCheck){
	var checkFlag=true;
	Ext.Ajax.request({
		url : ctx + '/checkAbandon', 
		async : false,
		showMsg : false, 
		params : {
			TicketType : TicketType,
			AbandonCheck : AbandonCheck
		}, 
		success : function(response, options)  {
			if(response.responseText=="false"){
				checkFlag=false;
			} 
		}
	});
	return checkFlag;
}
Ext.define('HIT.controller.TicketTypeSetting', {
    extend: 'Ext.app.Controller',
    
    models : [],
    stores : [],
    views  : ['SetVatInvoicePanel','SetTransportInvoicePanel','SetBusinessInvoicePanel'
                 ,'SetVatSpecialtyInvoicePanel','SetExportInvoicePanel'],
    
    onButtonClick: function(button, e, options) {
    	if(button.id == 'set-transtype-save'){   //运输类发票
    		TicketSettingFunction('trans-','T_INV',Share.T('运输类发票'));
    	}else if(button.id == 'set-normaltype-save'){  //增值税普通发票
    		TicketSettingFunction('vat-','N_VAT',Share.T('增值税普通发票'));
    	}else if(button.id == 'set-businesstype-save'){  //营业税发票
    		TicketSettingFunction('business-','BT',Share.T('营业税发票'));
    	}else if(button.id == 'set-vattype-save'){  //增值税专业发票
    		TicketSettingFunction('vat-specialty-','VAT',Share.T('增值税专业发票'));
    	}else if(button.id == 'set-exporttype-save'){  //出口发票
    		TicketSettingFunction('export-','E_INV',Share.T('出口发票'));
    	}else if(button.id == 'set-transtype-clear'){ //运输类发票
    		Ext.getCmp('tab-set-transtype').getForm().reset();
    		//清空后初始化值
    		Ext.getCmp('trans-base-maxmoney').setValue('999999.99');//最大金额
    		Ext.getCmp('trans-base-maxline').setValue('8');//最大行数
    		Ext.getCmp('trans-base-interface').items.items[2].setValue(true);//接口方式
    		Ext.getCmp('trans-base-erp').items.items[0].setValue(true);//回写ERP方式
    		Ext.getCmp('trans-base-dataimport-radio').items.items[1].setValue(true);//数据导入方式
    		Ext.getCmp('trans-base-is-outcode').setValue(false);//是否生成Outcode
    		Ext.getCmp('trans-base-is-pinaccount').setValue(false);//是否显示销方信息
    		Ext.getCmp('trans-base-importoverrideappend').items.items[0].setValue(true);//导入覆盖方式
    		Ext.getCmp('trans-base-clientmaindata').items.items[1].setValue(true);//客户主数据
    		Ext.getCmp('trans-base-goodsmaindata').items.items[1].setValue(true);//商品主数据
    		Ext.getCmp('trans-base-splitfunc').items.items[0].setValue(true);//拆分超额方式
    		Ext.getCmp('trans-base-writeback').items.items[1].setValue(true);//回写方式
    		Ext.getCmp('trans-cal-price').items.items[1].setValue(true);//价格方式
    		Ext.getCmp('trans-cal-import').items.items[1].setValue(true);//导入计算规则
    		Ext.getCmp('trans-cal-unitprice').setValue('0.01');//单价计算精度
    		Ext.getCmp('trans-cal-num').setValue('0.01');//数量计算精度
    		Ext.getCmp('trans-cal-split').setValue('0.01');//拆分试算精度
    		Ext.getCmp('trans-step-split').setValue('0.01');//拆分试算步长
    		Ext.getCmp('trans-cal-maxline').setValue('8');//拆分结果限行
    		Ext.getCmp('trans-cal-minmoney').setValue('0.01');//最小金额
    		Ext.getCmp('trans-abandon-checker').items.items[0].setValue(true);//红废票审核设置
    		
    	}else if(button.id == 'set-normaltype-clear'){//增值税普通发票
    		Ext.getCmp('tab-set-normaltype').getForm().reset();
    		//清空后初始化值
    		Ext.getCmp('vat-base-maxmoney').setValue('999999.99');//最大金额
    		Ext.getCmp('vat-base-maxline').setValue('8');//最大行数
    		Ext.getCmp('vat-base-interface').items.items[2].setValue(true);//接口方式
    		Ext.getCmp('vat-base-erp').items.items[0].setValue(true);//回写ERP方式
    		Ext.getCmp('vat-base-dataimport-radio').items.items[1].setValue(true);//数据导入方式
    		Ext.getCmp('vat-base-is-outcode').setValue(false);//是否生成Outcode
    		Ext.getCmp('vat-base-is-pinaccount').setValue(false);//是否显示销方信息
    		Ext.getCmp('vat-base-importoverrideappend').items.items[0].setValue(true);//导入覆盖方式
    		Ext.getCmp('vat-base-clientmaindata').items.items[1].setValue(true);//客户主数据
    		Ext.getCmp('vat-base-goodsmaindata').items.items[1].setValue(true);//商品主数据
    		Ext.getCmp('vat-base-splitfunc').items.items[0].setValue(true);//拆分超额方式
    		Ext.getCmp('vat-base-writeback').items.items[1].setValue(true);//回写方式
    		Ext.getCmp('vat-cal-price').items.items[1].setValue(true);//价格方式
    		Ext.getCmp('vat-cal-import').items.items[1].setValue(true);//导入计算规则
    		Ext.getCmp('vat-cal-unitprice').setValue('0.01');//单价计算精度
    		Ext.getCmp('vat-cal-num').setValue('0.01');//数量计算精度
    		Ext.getCmp('vat-cal-split').setValue('0.01');//拆分试算精度
    		Ext.getCmp('vat-step-split').setValue('0.01');//拆分试算步长
    		Ext.getCmp('vat-cal-maxline').setValue('8');//拆分结果限行
    		Ext.getCmp('vat-cal-minmoney').setValue('0.01');//最小金额
    		Ext.getCmp('vat-abandon-checker').items.items[0].setValue(true);//红废票审核设置
    	
    	}else if(button.id == 'set-businesstype-clear'){//营业税发票
    		Ext.getCmp('tab-set-businesstype').getForm().reset();
    		//清空后初始化值
    		Ext.getCmp('business-base-maxmoney').setValue('999999.99');//最大金额
    		Ext.getCmp('business-base-maxline').setValue('8');//最大行数
    		Ext.getCmp('business-base-interface').items.items[2].setValue(true);//接口方式
    		Ext.getCmp('business-base-erp').items.items[0].setValue(true);//回写ERP方式
    		Ext.getCmp('business-base-dataimport-radio').items.items[1].setValue(true);//数据导入方式
    		Ext.getCmp('business-base-is-outcode').setValue(false);//是否生成Outcode
    		Ext.getCmp('business-base-is-pinaccount').setValue(false);//是否显示销方信息
    		Ext.getCmp('business-base-importoverrideappend').items.items[0].setValue(true);//导入覆盖方式
    		Ext.getCmp('business-base-clientmaindata').items.items[1].setValue(true);//客户主数据
    		Ext.getCmp('business-base-goodsmaindata').items.items[1].setValue(true);//商品主数据
    		Ext.getCmp('business-base-splitfunc').items.items[0].setValue(true);//拆分超额方式
    		Ext.getCmp('business-base-writeback').items.items[1].setValue(true);//回写方式
    		Ext.getCmp('business-cal-price').items.items[0].setValue(true);//价格方式
    		Ext.getCmp('business-cal-import').items.items[1].setValue(true);//导入计算规则
    		Ext.getCmp('business-cal-unitprice').setValue('0.01');//单价计算精度
    		Ext.getCmp('business-cal-num').setValue('0.01');//数量计算精度
    		Ext.getCmp('business-cal-split').setValue('0.01');//拆分试算精度
    		Ext.getCmp('business-step-split').setValue('0.01');//拆分试算步长
    		Ext.getCmp('business-cal-maxline').setValue('8');//拆分结果限行
    		Ext.getCmp('business-cal-minmoney').setValue('0.01');//最小金额
    		Ext.getCmp('business-abandon-checker').items.items[0].setValue(true);//红废票审核设置
    		
    	}else if(button.id == 'set-vattype-clear'){//增值税专业发票
    		Ext.getCmp('tab-set-vattype').getForm().reset();
    		//清空后初始化值
    		Ext.getCmp('vat-specialty-base-maxmoney').setValue('999999.99');//最大金额
    		Ext.getCmp('vat-specialty-base-maxline').setValue('8');//最大行数
    		Ext.getCmp('vat-specialty-base-interface').items.items[2].setValue(true);//接口方式
    		Ext.getCmp('vat-specialty-base-erp').items.items[0].setValue(true);//回写ERP方式
    		Ext.getCmp('vat-specialty-base-dataimport-radio').items.items[1].setValue(true);//数据导入方式
    		Ext.getCmp('vat-specialty-base-is-outcode').setValue(false);//是否生成Outcode
    		Ext.getCmp('vat-specialty-base-is-pinaccount').setValue(false);//是否显示销方信息
    		Ext.getCmp('vat-specialty-base-importoverrideappend').items.items[0].setValue(true);//导入覆盖方式
    		Ext.getCmp('vat-specialty-base-clientmaindata').items.items[1].setValue(true);//客户主数据
    		Ext.getCmp('vat-specialty-base-goodsmaindata').items.items[1].setValue(true);//商品主数据
    		Ext.getCmp('vat-specialty-base-splitfunc').items.items[0].setValue(true);//拆分超额方式
    		Ext.getCmp('vat-specialty-base-writeback').items.items[1].setValue(true);//回写方式
    		Ext.getCmp('vat-specialty-cal-price').items.items[1].setValue(true);//价格方式
    		Ext.getCmp('vat-specialty-cal-import').items.items[1].setValue(true);//导入计算规则
    		Ext.getCmp('vat-specialty-cal-unitprice').setValue('0.01');//单价计算精度
    		Ext.getCmp('vat-specialty-cal-num').setValue('0.01');//数量计算精度
    		Ext.getCmp('vat-specialty-cal-split').setValue('0.01');//拆分试算精度
    		Ext.getCmp('vat-specialty-step-split').setValue('0.01');//拆分试算步长
    		Ext.getCmp('vat-specialty-cal-maxline').setValue('8');//拆分结果限行
    		Ext.getCmp('vat-specialty-cal-minmoney').setValue('0.01');//最小金额
    		Ext.getCmp('vat-specialty-abandon-checker').items.items[0].setValue(true);//红废票审核设置
    		
    	}else if(button.id == 'set-exporttype-clear'){//出口发票
    		Ext.getCmp('tab-set-exporttype').getForm().reset();
    		//清空后初始化值
    		Ext.getCmp('export-base-maxmoney').setValue('999999.99');//最大金额
    		Ext.getCmp('export-base-maxline').setValue('8');//最大行数
    		Ext.getCmp('export-base-interface').items.items[2].setValue(true);//接口方式
    		Ext.getCmp('export-base-erp').items.items[0].setValue(true);//回写ERP方式
    		Ext.getCmp('export-base-dataimport-radio').items.items[1].setValue(true);//数据导入方式
    		Ext.getCmp('export-base-is-outcode').setValue(false);//是否生成Outcode
    		Ext.getCmp('export-base-is-pinaccount').setValue(false);//是否显示销方信息
    		Ext.getCmp('export-base-importoverrideappend').items.items[0].setValue(true);//导入覆盖方式
    		Ext.getCmp('export-base-clientmaindata').items.items[1].setValue(true);//客户主数据
    		Ext.getCmp('export-base-goodsmaindata').items.items[1].setValue(true);//商品主数据
    		Ext.getCmp('export-base-splitfunc').items.items[0].setValue(true);//拆分超额方式
    		Ext.getCmp('export-base-writeback').items.items[1].setValue(true);//回写方式
    		Ext.getCmp('export-cal-price').items.items[1].setValue(true);//价格方式
    		Ext.getCmp('export-cal-import').items.items[1].setValue(true);//导入计算规则
    		Ext.getCmp('export-cal-unitprice').setValue('0.01');//单价计算精度
    		Ext.getCmp('export-cal-num').setValue('0.01');//数量计算精度
    		Ext.getCmp('export-cal-split').setValue('0.01');//拆分试算精度
    		Ext.getCmp('export-step-split').setValue('0.01');//拆分试算步长
    		Ext.getCmp('export-cal-maxline').setValue('8');//拆分结果限行
    		Ext.getCmp('export-cal-minmoney').setValue('0.01');//最小金额
    		Ext.getCmp('export-abandon-checker').items.items[0].setValue(true);//红废票审核设置
    	}
    },
    
    init: function(application) {
        this.control({
            "button": {
                click: this.onButtonClick
            }
        });
    }

});